package chapter05;

public class Java02_Object {

    public static void main(String[] args) {
        // TODO 常用类和对象-数组-基本使用方式
        User1 user1 = new User1();
        User1 user2 = new User1();
        User1 user3 = new User1();
        User1 user4 = new User1();
        user1.test();
        user2.test();
        user3.test();
        user4.test();
        System.out.println("--------------------------");
        User1[] users = new User1[4];
        for (int i = 0; i < users.length; i++) {
            users[i] = new User1();
        }
        for (int i = 0; i < users.length; i++){
            users[i].test();
        }
        // 多个对象执行相同的功能，单独创建操作繁琐

        // 数组：数据的组合，数组的类型主要依托于它容纳的数据类型

        // 声明：类型[] 变量;
        String[] names;

        // 创建：new 类型[容量];
        String[] names1 = new String[3];

        // 数组添加数据：数组变量[索引] = 数据;
        // 数组没有类型，根据存储的数据类型决定
        // 添加数据和访问数据时，索引是不能超过确定的范围的（0~length-1）
        // 如果重复给相同的索引添加数据等同于修改数据
        names1[0] = "张三";
        names1[1] = "李四";
        names1[2] = "王五";
        names1[0] = "赵六";
        // names1[3] = "赵六";   报错：Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: Index 3 out of bounds for length 3（索引超出范围）

        // 访问数据：数组变量[索引]
        System.out.println(names1[0]);
        System.out.println(names1[1]);
        System.out.println(names1[2]);
        System.out.println("--------------------------");
        for (int i = 0; i < names1.length; i++) {
            System.out.println(names1[i]);
        }

        System.out.println("--------------------------");
        // 获取数组的容量：数组变量.length
        System.out.println(names1.length);



    }
}
class User1 {
    public void test() {
        System.out.println("test...");
    }
}
